The present invention relates generally to data communications between a host and a mobile node, and in particular to data communications between the host and the mobile node that cross internetworks.
The Internet Protocol (IP), the protocol that connects the networks of today""s Internet, routes information or data packets to their destinations according to IP addresses. IP addresses are associated with a fixed network location much as a non-mobile phone number is associated with a physical jack in a wall. Thus, when a user of a computer attached to the Internet using the IP changes the computer""s point of attachment to the Internet, his computing activities with respect to the Internet are disrupted. This is because each new point of attachment to the Internet is associated with a new network number, and hence, a new IP address. To resume Internet computing activities, the user must typically cause his computer to make a new Internet connection using the new IP address.
Highly portable wireless computing devices offering IP connectivity are becoming increasingly popular. Such devices include, for example, digital cell phones, personal digital assistants (PDA""s), electronic pocket organizers, and even laptop computers equipped with interface mechanisms such as a wireless modem or a modem together with a cell phone. For a variety of reasons, a user on the move may have to change his computing device""s point of attachment to the Internet. For example, the user""s device may travel out of range of a wireless communication node through which the point of attachment was maintained and the link between the computing device and the Internet may be dropped, or long distance cell phone and/or roaming charges associated with maintaining the link may become prohibitive. Accordingly, the concept of mobile networking is becoming increasingly attractive. In mobile networking, computing activities are not disrupted when the user changes his computing device""s point of attachment to the Internet. Instead, all the needed reconnection occurs automatically and non-interactively so that it can be transparent to the user.
Mobile IP (RFC 2002) is a standard proposed by a working group within the Internet Engineering Task Force, that was designed to solve the problem of making transparent mobility possible. Principles of Mobile IP are described, for example, in Mobile Networking Through Mobile IP, by Charles E. Perkins, copyright 1997 Institute of Electrical and Electronics Engineers, Inc., which is hereby incorporated by reference. Additional terms and principles relating to networking, including Point-to-Point Protocol (PPP) and Layer 2 Tunneling Protocol (L2TP) protocols, are variously described and defined in Mobile Networking Terminology, by Charles E. Perkins, copyright 1997 Institute of Electrical and Electronics Engineers, Inc., Nomadicity: How Mobility Will Affect the Protocol Stack, by Charles E. Perkins, copyright 1997 Institute of Electrical and Electronics Engineers, Inc., and Virtual Private Networking: An Overview, copyright 1998 Microsoft Corporation, all of which are hereby incorporated by reference.
Mobile IP allows a mobile node (such as a user""s wireless computing device) to receive data packets by using two IP addresses: a fixed xe2x80x9chomexe2x80x9d address and a xe2x80x9ccare-ofxe2x80x9d address.
The home address designates a home network for the mobile node, to which data for the mobile node can be sent. The home network can be, for example, an operator""s network (like an Internet Service Provider, or ISP) or a corporate network.
The care-of address designates a different or xe2x80x9cforeignxe2x80x9d network to which the mobile node is attached, and to which data packets received by the home network for the mobile node can be forwarded for delivery to the mobile node.
Mobile IP requires the existence of a network node within the home network known as a xe2x80x9chome agentxe2x80x9d, and also a network node within the foreign network known as a xe2x80x9cforeign agentxe2x80x9d. The home agent is a router in the home network that performs the Mobile IP home agent functionality. The foreign agent is a router in the foreign network that performs the Mobile IP foreign agent functionality.
Whenever the mobile node moves, i.e., changes its point of attachment from one foreign network to another foreign network, it xe2x80x9cregistersxe2x80x9d its new care-of address with its home agent. The home agent associates the home address of the mobile node with the current care-of address, and this information together with a lifetime for the registration (e.g., a time period during which the association will be considered valid) forms a xe2x80x9cbindingxe2x80x9d for the mobile node. Thus, when the mobile node changes networks, it registers with the home agent and the home agent updates the binding to reflect the new care-of address.
In operation, the home agent receives all packets addressed to the home address and intended for the mobile node whenever the mobile node is not directly attached to its home network (and is therefore attached to the foreign network). These packets can be referred to as xe2x80x9cterminatingxe2x80x9d packets. The home agent xe2x80x9ctunnelsxe2x80x9d the terminating packets it has received to the foreign agent, which finally transfers them to the mobile node.
In general, tunneling is a method of using an internetwork infrastructure to transfer data from a first network to a second network over an intermediate network. The intermediate network can be of a type that is different from the type of the first and second networks. The data to be transferred (or xe2x80x9cpayloadxe2x80x9d) can be the frames (or packets) of another protocol. Instead of sending a frame as it is produced by the originating node, the tunneling protocol encapsulates the frame in an additional header. The additional header provides routing information so that the encapsulated payload can traverse the intermediate network. The encapsulated payloads are then routed between tunnel endpoints over the intermediate network or internetwork. The path through which the encapsulated packets travel through the internetwork or intermediate network is called a xe2x80x9ctunnelxe2x80x9d. Once the encapsulated payloads reach their destination on the internetwork, the payloads are unencapsulated and forwarded to their final destination in the second network. Tunneling includes the entire process of encapsulating, transferring, and unencapsulating.
To tunnel terminating packets between the home network and the foreign network in Mobile IP, the home agent modifies each terminating packet so that the care-of address appears as the destination IP address for the terminating packet. This modification can be understood as a packet transformation, or more specifically, as a xe2x80x9credirectionxe2x80x9d. In Mobile IP, the home agent redirects each terminating packet from the home network to the care-of address by constructing a new IP header that contains the mobile node""s care-of address as the destination IP address. This new header then shields or encapsulates the original termination packet, including the original IP header, so that the mobile node""s home address in the original IP header will have no effect on the encapsulated packet""s routing until it arrives at the care-of address.
When the encapsulated terminating packet sent by the home agent is received at the care-of address, e.g., the foreign network to which the mobile node is connected, the foreign agent at the foreign network strips off the header containing the care-of address, thus unencapsulating the terminating packet, and forwards the terminating packet (bearing the home address in its header) to the mobile node. The home address ensures that the terminating packet will be processed properly by TCP or whatever higher level protocol logically receives it from the mobile node""s IP (that is, layer-3) processing layer. The default encapsulation mechanism that must be supported by all mobility agents using Mobile IP is IP-within-IP as described above, which is a layer-3 tunnel.
In Mobile IP, as described above, a data packet intended for the mobile node goes to the home agent and then to the foreign agent via a tunnel before it gets to the mobile node. However, the mobile node can send packets directly to the correspondent node without tunneling. This asymmetry is captured by the term xe2x80x9ctriangle routingxe2x80x9d, where a single leg of the triangle goes from the mobile node to the correspondent node, and the home agent forms the third vertex controlling the path taken by data flowing from the correspondent node to the mobile node.
In summary, Mobile IP provides a method for layer-3 tunneling from a host to a mobile node. Mobile IP employs triangular routing such that all packets terminating to a mobile node are routed first to a home agent which maintains a data base of a binding between the mobile node""s IP address and the address of a foreign agent that the mobile node is attached to. When the mobile node changes networks, this binding is updated to a new foreign host address. To route a terminating packet to the mobile node, the home agent tunnels the packet to the foreign agent using layer-3 tunneling. The foreign host then delivers the packet to the mobile node.
Layer-2 tunneling (as variously described, for example, in Virtual Private Networking: An Overview, and in co-pending application Ser. No. 09/187,339, entitled Layer 2 Tunneling for Data Communications In Wireless Networks, which is hereby incorporated by reference) allows a remote or mobile node to dial in to a home Internet Service Provider (ISP) or corporate network by making a call to a local ISP. The local ISP then forwards the call to the home ISP by tunneling PPP frames over an IP network, such as the Internet. This removes the need for a long distance call to the home ISP and removes the need for dedicated leased lines since the transport over the IP network is secure. Of course, L2TP also allows the home network the call the mobile node when the mobile node""s whereabouts are known.
Layer-2 tunneling has an advantage, for example, of allowing the home network to assign an IP address to the mobile node since identification of the mobile node is done with a layer-2 address such as a telephone number. This allows private networks to assign private addresses to the mobile node for the duration of a session. Private addresses are used to save public IP addresses which are limited and require global uniqueness. Using private addresses also allows the home network to hide the internal structure of its network from the outside world by translating public addresses to private ones before delivering the packets to the mobile node inside the private network.
However, terminating traffic or packets for a mobile node cannot be delivered using layer-2 tunneling, unless location information for the mobile node is available. A normal mobile phone call to the mobile node can be used to deliver mobile terminating traffic, but this can result in undesirable long distance and roaming charges.
In accordance with embodiments of the invention, Mobile IP binding information can be used to deliver mobile terminating packets using layer-2 tunneling. When terminating packets destined for a mobile node are received by a home network for the mobile node, the Mobile IP binding is used to obtain the care-of address designating a foreign network to which the mobile node is attached. A layer-2 tunnel is created between an L2TP Network Server (LNS) in the home network and an L2TP Access Concentrator (LAC) in the foreign network, and an outgoing L2TP call is made from the home network to the foreign network. In response to the L2TP call, a call is made from the foreign network to the mobile node, and a PPP session can be established between the home network and the mobile node, via the layer-2 tunnel between the home network and the foreign network. Once the call is established the home network can optionally assign the mobile node a private IP address, and translate the home IP address labeling the terminating packets to the private IP address. E.g., the home network can re-label the terminating packets with the private IP address instead of the home IP address.